package com.ruoyi.a2.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.a2.domain.A2StaticInfo;
import com.ruoyi.a2.dto.A2StaticInfoCondition;
import com.ruoyi.a2.dto.A2StaticInfoForm;
import com.ruoyi.a2.dto.TargetActivityExtractionJson;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;

/**
 * AIS/ADS-B静态信息Service接口
 *
 * @author ruoyi
 * @date 2025-02-14
 */
public interface IA2StaticInfoService extends IService<A2StaticInfo>
{
    /**
     * 查询AIS/ADS-B静态信息
     *
     * @param id AIS/ADS-B静态信息主键
     * @return AIS/ADS-B静态信息
     */
    public A2StaticInfo selectA2StaticInfoById(Long id);

    /**
     * 查询AIS/ADS-B静态信息列表
     *
     * @param a2StaticInfo AIS/ADS-B静态信息
     * @return AIS/ADS-B静态信息集合
     */
    public List<A2StaticInfo> selectA2StaticInfoList(A2StaticInfo a2StaticInfo);

    /**
     * 新增AIS/ADS-B静态信息
     *
     * @param a2StaticInfo AIS/ADS-B静态信息
     * @return 结果
     */
    public int insertA2StaticInfo(A2StaticInfo a2StaticInfo);

    /**
     * 修改AIS/ADS-B静态信息
     *
     * @param a2StaticInfo AIS/ADS-B静态信息
     * @return 结果
     */
    public int updateA2StaticInfo(A2StaticInfo a2StaticInfo);

    /**
     * 批量删除AIS/ADS-B静态信息
     *
     * @param ids 需要删除的AIS/ADS-B静态信息主键集合
     * @return 结果
     */
    public int deleteA2StaticInfoByIds(Long[] ids);

    /**
     * 删除AIS/ADS-B静态信息信息
     *
     * @param id AIS/ADS-B静态信息主键
     * @return 结果
     */
    public int deleteA2StaticInfoById(Long id);

    public TableDataInfo page(A2StaticInfoCondition condition);

    public void updateEnableStatus(TargetActivityExtractionJson json);

    /**
     * 查询AIS/ADS-B静态信息
     *
     * @param mmsiIcao the mmsi icao
     * @return AIS /ADS-B静态信息
     * @author :yanlixiong
     * @date :2025-02-20 11:25:10
     */
    public A2StaticInfo selectA2StaticInfoByMmsiIcao(String mmsiIcao);

    AjaxResult saveOrUpdate(A2StaticInfoForm form);
}
